package com.promotores;

import java.util.ArrayList;
import java.util.List;

import com.promotores.R;
import com.promotores.jsonparsing.JSONReader;
import com.promotores.util.Parametros;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.Toast;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView;

public class ActivityListarSubTipoEventos extends Activity implements OnItemClickListener, OnClickListener{
	ListView lista;
	List<BeanTipoEvento> listaTipoEventos;
	BeanTipoEvento tipoEvento;
	ImageButton buscar;
	String flag;
	EditText edtBuscarEvento;
	String categoriaEvento;
	/**
	 * @see android.app.Activity#onCreate(Bundle)
	 */
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		flag = getIntent().getStringExtra("flag");
		categoriaEvento = getIntent().getStringExtra("tipoEvento");
		//Toast.makeText(this, flag, Toast.LENGTH_LONG).show();
		setContentView(R.layout.pr_lista_tipo_eventos);

		lista = (ListView) findViewById(R.id.lvTipoEventos);
		edtBuscarEvento = (EditText) findViewById(R.id.btnBuscarEvento);
		//se hace la conexión con la base de datos local
		GestorTipoEvento dbTipoEvento = new GestorTipoEvento(this);
		//simulación de data
		
		//se obtiene la lista de tipos de eventos
		//listaTipoEventos = dbTipoEvento.getAllTipoEvento();
		JsonTipoEvento jsonReader = new JsonTipoEvento();
		List<BeanTipoEvento> auxSubTipoEventos;
		auxSubTipoEventos = jsonReader.dameSubTiposEventos(Integer.parseInt(categoriaEvento));
		listaTipoEventos = new ArrayList<BeanTipoEvento>();
		List<BeanTipoEvento> auxParametroTipos = Parametros.getLstUser_type_events();
		for (int i=0; i<auxSubTipoEventos.size(); i++)
			for (int j=0; j<Parametros.getLstUser_type_events().size(); j++){
				if (auxSubTipoEventos.get(i).getId()==Parametros.getLstUser_type_events().get(j).getId()){
					listaTipoEventos.add(Parametros.getLstUser_type_events().get(j));
				}
			}
		
		AdapterTipoEvento adapter = new AdapterTipoEvento(listaTipoEventos, this);
		
		lista.setAdapter(adapter);
		lista.setOnItemClickListener(this);
		
		buscar = (ImageButton)findViewById(R.id.buscarEvento);        
        buscar.setOnClickListener(this);
        
	}
	@Override
	public void onClick(View v) {
		if (v.getId() == R.id.buscarEvento){
			String auxEvento = edtBuscarEvento.getText().toString();
			if (auxEvento.compareTo("")!=0){
				Intent intent = new Intent();			
				intent.putExtra("flag",flag);
				intent.putExtra("tipoEvento", "");
				intent.putExtra("buscaEvento", auxEvento);
				intent.putExtra("subtipoEvento", "");
				intent.setClass(this, ActivityListarEventos.class);
				startActivity(intent);
			}
		}
	}
	@Override
	public void onItemClick(AdapterView<?> adapter, View arg1, int position, long arg3) {
		BeanTipoEvento tipoEvento = (BeanTipoEvento)adapter.getItemAtPosition(position);
		//acá ya se obtiene todo el objeto tipo evento. faltaría agregar la funcionalidad
		Intent intent = new Intent();
		intent.putExtra("flag",flag);
		intent.putExtra("tipoEvento", categoriaEvento);
		intent.putExtra("buscaEvento", "");
		intent.putExtra("subtipoEvento", String.valueOf(tipoEvento.getId()));
		intent.setClass(this, ActivityListarEventos.class);
		startActivity(intent);
	}
}
